home *** CD-ROM | disk | FTP | other *** search
- //////////////////////////////////////////////////////////////////////////////
- //
- // x86 Assembly highlighter written by Eden Kirin, eden.kirin@inet.hr
- //
- //////////////////////////////////////////////////////////////////////////////
-
- //////////////////////////////////////////////////////////////////////////////
- // language name
-
- Language: x86 Assembler
-
- //////////////////////////////////////////////////////////////////////////////
- // put whatever you want here, short description, author name, email address..
-
- Description: x86 Assembly highlighter written by Eden Kirin, eden.kirin@inet.hr
-
- //////////////////////////////////////////////////////////////////////////////
- // default file filter
- // note: if more than one extension is associated, eg:
- // C/C++ files (*.c,*.cpp,*.h,*.hpp)|*.c;*.cpp;*.h;*.hpp
-
- Filter: x86 Assembler files (*.asm)|*.asm
-
-
- //////////////////////////////////////////////////////////////////////////////
- // help file which will be invoked when F1 is pressed
-
- HelpFile:
-
-
- //////////////////////////////////////////////////////////////////////////////
- // language case sensitivity
- // 0 - no
- // 1 - yes
-
- CaseSensitive: 0
-
-
- //////////////////////////////////////////////////////////////////////////////
- // comment type: LineComment - comment to the EOL
- // BlockCommentBeg - block comment begin, it could be
- // multiline
- // BlockCommentEnd - block comment end
- //
- // if there is more than one definition of line/beg/end comment string,
- // you can separate it with spaces.
- // for example, for pascal it would be:
- // LineComment: //
- // BlockCommentBeg: (* {
- // BlockCommentEnd: *) }
-
- LineComment: ;
- BlockCommentBeg:
- BlockCommentEnd:
-
-
- //////////////////////////////////////////////////////////////////////////////
- // identifier characters
- // note: characters shouldn't be delimited, except arrays
- // array of chars could be defined as from_char..to_char
-
- IdentifierBegChars: a..z A..Z _%@.
- IdentifierChars: a..z A..Z _ 0..9 ?
-
- //////////////////////////////////////////////////////////////////////////////
- // numeric constants begin characters
- // note: characters shouldn't be delimited, except arrays
- // array of chars could be defined as from_char..to_char
- // number always starts with 0..9 except when NumConstBeg
- // defines other
-
- NumConstBegChars: 0..9
-
-
- //////////////////////////////////////////////////////////////////////////////
- // numeric constants characters
- // note: characters shouldn't be delimited, except arrays
- // array of chars could be defined as from_char..to_char
- // number always starts with 0..9 except when NumConstBeg
- // defines other
-
- NumConstChars: 0..9 abcdefhABCDEFH
-
-
- //////////////////////////////////////////////////////////////////////////////
- // escape character
-
- EscapeChar:
-
-
- //////////////////////////////////////////////////////////////////////////////
- // keyword table
- // note: delimited with spaces, lines could be wrapped
- // you may divide keywords into five groups which can be
- // highlighted differently
-
- // op codes
-
- KeyWords1: aaa aad aam adc add and arpl bound bsf bsr bswap bt btc
- btr bts call cbw cdq clc cld cli clts cmc cmp cmps
- cmpsb cmpsd cmpsw cmpxchg cwd cwde daa das dec div emms
- enter f2xm1 fabs fadd faddp fbld fbstp fchs fclex
- fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu
- fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdiv
- fdivp fdivr fdivrp femms ffree fiadd ficom ficomp fidiv
- fidivr fild fimul fincstp finit fist fistp fisub fisubr
- fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi
- fldz fmul fmulp fnclex fninit fnop fnsave fnstcw
- fnstenv fnstsw fpatan fprem1 fptan frndint frstor fsave
- fscale fsin fsincos fsqrt fst fstcw fstenv fstp fstsw
- fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip
- fucomp fucompp fwait fxch fxtract fyl2xp1 hlt idiv imul
- in inc ins insb insd insw int into invd invlpg iret
- iretd iretw ja jae jb jbe jc jcxz je jecxz jg jge jl
- jle jmp jna jnae jnb jnbe jnc jne jng jnge jnl jnle jno
- jnp jns jnz jo jp jpe jpo js jz lahf lar lds lea leave
- les lfs lgdt lgs lidt lldt lmsw lock lods lodsb lodsd
- lodsw loop loope loopne loopnz loopz lsl lss ltr mov
- movd movq movs movsb movsd movsw movsx movzx mul neg
- nop not or out outs outsb outsd outsw packssdw packsswb
- packuswb paddb paddd paddsb paddsw paddusb paddusw
- paddw pand pandn pavgusb pcmpeqb pcmpeqd pcmpeqw
- pcmpgtb pcmpgtd pcmpgtw pf2id pfacc pfadd pfcmpeq
- pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1
- pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmaddwd
- pmulhrw pmulhw pmullw pop popa popad popaw popf popfd
- popfw por prefetch prefetchw pslld psllq psllw psrad
- psraw psrld psrlq psrlw psubb psubd psubsb psubsw
- psubusb psubusw psubw punpckhbw punpckhdq punpckhwd
- punpcklbw punpckldq punpcklwd push pusha pushad pushaw
- pushf pushfd pushfw pxor rcl rcr rep repe repne repnz
- repz ret rol ror sahf sal sar sbb scas scasb scasd
- scasw seta setae setb setbe setc sete setg setge setl
- setle setna setnae setnb setnbe setnc setne setng
- setnge setnl setnle setno setnp setns setnz seto setp
- setpo sets setz sgdt shl shld shr shrd sidt sldt smsw
- stc std sti stos stosb stosd stosw str sub test verr
- verw wait wbinvd xadd xchg xlat xlatb xor
-
- // registers
-
- KeyWords2: ax bx cx dx ex si di bp sp ss es ds cs ip
- al ah bl bh ch cl dh dl eh el
- eax ebx ebp ecx edi edx esi esp
-
-
- KeyWords3: %out .186 .286 .286c .286p .287 .386 .386p .387 .8086
- .8087 .alpha .seq .code .const .cref .data .data? .err
- .err1 .err2 .errb .errdef .errdif .erre .fardata
- .fardata? .lall .lfcond .list .model .msfloat .radix
- .sall .sfcond .stack .type .xall .xcref .xlist @curseg
- @filename @code @codesize @datasize @const @data @data?
- @fardata @fardata? @stack align and assume at b byte
- comm comment common compact d db dd df dosseg dup fq dt
- dw dword else end endif endm endp ends eq equ even
- exitm extrn far ge group h high huge ifdef include
- includelib irp irpc label large le length low local lt
- macro mask medium memory name near not o offset or org
- page para proc public purge q record rept seg segment
- shl short size shr small stack struc subttl this tiny
- title type use16 use32 width word xor code data nothing
- ptr
-
-
- KeyWords4:
-
-
- KeyWords5:
-
-
- //////////////////////////////////////////////////////////////////////////////
- // string delimiter: StringBegChar - string begin char
- // StringEndChar - string end char
- // MultilineStrings - enables multiline strings, as perl
- // has it
-
- StringBegChar: "
- StringEndChar: "
- MultilineStrings: 0
-
-
- //////////////////////////////////////////////////////////////////////////////
- // use preprocessor: 0 - no
- // 1 - yes
- // note: if yes, '#' and statements after it will be
- // highlighted with Preprocessor defined colors
-
- UsePreprocessor: 0
-
-
- //////////////////////////////////////////////////////////////////////////////
- // highlight line: 0 - no
- // 1 - yes
- // note: if yes, current line will be highlighted
-
- CurrLineHighlighted: 0
-
-
- //////////////////////////////////////////////////////////////////////////////
- // colors
- // note: first value is foreground, second is background color
- // and third (optional) represents font attribute:
- // B - bold
- // I - italic
- // U - underline
- // S - strike out
- // attributes can be combined: eg. B or BI
- // as value, it could be used any standard windows color:
- // clBlack, clMaroon, clGreen, clOlive, clNavy,
- // clPurple, clTeal, clGray, clSilver, clRed, clLime,
- // clYellow, clBlue, clFuchsia, clAqua, clLtGray,
- // clDkGray, clWhite, clScrollBar, clBackground,
- // clActiveCaption, clInactiveCaption, clMenu, clWindow,
- // clWindowFrame, clMenuText, clWindowText, clCaptionText,
- // clActiveBorder, clInactiveBorder, clAppWorkSpace,
- // clHighlight, clHighlightText, clBtnFace, clBtnShadow,
- // clGrayText, clBtnText, clInactiveCaptionText,
- // clBtnHighlight, cl3DDkShadow, cl3DLight, clInfoText,
- // clInfoBk
- // as value, it could be used hex numeric constant too:
- // $BBGGRR - BB: blue, GG: green, RR: red, eg: $FF6A00
-
- SpaceCol: clWindowText clWindow
- Keyword1Col: clNavy clWindow
- Keyword2Col: clPurple clWindow
- Keyword3Col: clBlue clWindow
- Keyword4Col: clBlue clWindow
- Keyword5Col: clBlue clWindow
- IdentifierCol: clWindowText clWindow
- CommentCol: clGray clWindow
- NumberCol: clRed clWindow
- StringCol: clMaroon clWindow
- SymbolCol: clGray clWindow
- PreprocessorCol: clBlue clWindow
- SelectionCol: clWhite clNavy
- CurrentLineCol: clBlack clYellow
-
-